perm filename SEPTEM.MSG[CUR,JMC] blob sn#119260 filedate 1974-09-06 generic text, type T, neo UTF8
∂06-SEP-74  1659		P,PAW
 To: Fields @ISI
 Subject:  Stanford A.P. Bullets
 
 1.  Automatic Coding:  Choice of Data Structures
 
 A system has  been developed which,  given an algorithm  expressed in
 terms  of  high-level information  structures such  as  sets, ordered
 sets, and relations, automatically chooses efficient  representations
 and  produces   a  new  program  that   uses  these  representations.
 Representations  are picked  from a  fixed library of  low-level data
 structures including linked-lists, binary trees and hash tables.  The
 representations  are chosen by  attempting to minimize  the predicted
 space-time integral of  the user's program  execution.   [Predictions
 are  based upon  statistics  of  information structure  use  provided
 directly  by the user and  collected by monitoring  executions of the
 user  program  using  default  representations  for  the   high-level
 structures.] This  is a  practical system  and could  be incorporated
 into  SAIL or another high-level language  programming system.  [work
 performed by Jim Low]
 
 2.  Advances in Program Construction using Formal Methods
 
 Completed an advanced (although still experimental) formal system for
 automatic  programming.  In  this paradigm  one begins with  a formal
 statement of the requirements  that a program  must satisfy and  then
 the  system   syntehsizes  a   correct  program   that  meets   these
 requirements.     A  combination  of  automatic  theorem-proving  and
 problem-solving techniques is  used to synthesize  the program.   The
 programs constructed  are expressed in  a subset of  ALGOL containing
 assignments, function calls, conditional statements, WHILE loops, and
 non-recursive procedure calls.  The system has been  used to generate
 programs  for   symbolic  manipulation,  robot   control,  every  day
 planning,  and  computing  arithmetical  functions.    The   programs
 generated can be several pages long.  This system represents advances
 in the formalism  for expressing programs, in problem solving methods
 specific to  automatic  programming,  and  in  program-writing  power
 [length of programs produced].  [work by Luckham and Buchanan]
 
 3.  Inferring LISP Programs from Examples
 
 Completed a program  that infers recursive  list-processing functions
 from   input-output   pairs.     For  example,   given   the  example
 specification
 
 	(A B C D) → (D D C C B B A A)
          input        output
 
 the  system produces  a "reverse-and-double"  program.   This  system
 shows   the   feasibility  of   more  natural   methods   of  program
 specification, but  the  work  is  still experimental  and  there  is
 considerable  room  for  progress.  [work done  by  Green,  Shaw  and
 Swartout]
 
 
 4.  Craig, I can rewrite these if you want.  You might want to delete
 the bracketed portions.
 
 					Cordell
 
 cc:  J. McCarthy, L. Earnest